#ifndef DATAGRAMM_H_
#define DATAGRAMM_H_

#include <vector>
#include <string>
#include <stdint.h>

class Datagramm {
public:
	Datagramm();
	virtual ~Datagramm();
	virtual std::vector<char> getDatagramm() const;
	virtual void putDatagramm(std::vector<char> const& datagramm);
	std::vector<std::string> & getStrings();
	void printStrings(int first_string = 0, std::string prefix = "") const;

protected:
	const uint32_t m_int_size;
	std::vector<std::string> m_strings;

	void putInt32(char *char_pointer, uint32_t i) const;
	uint32_t getInt32(const char *char_pointer) const;
};

#endif /* DATAGRAMM_H_ */
